Extending communication services to a consumption device using a proxy device

ABSTRACT

A system for data communications comprising a handset having a processor, a wireless communications device, a speaker and a microphone and one or more software applications operating on the processor that are configured to interface with a voice over long-term evolution (VoLTE) service. A wireless access point coupled to the handset through a local wireless communications media and the wireless communications device, the wireless access point further coupled to a long range wireless communications media and configured to interface with a server that provides VoLTE calling functionality.

RELATED APPLICATIONS

The present application claims priority to U.S. Provisional PatentApplication No. 62/050,516, filed Sep. 15, 2014, which is herebyincorporated by reference for all purposes as if set forth herein in itsentirety.

TECHNICAL FIELD

The present dislcosure relates generally to data communications, andmorespecifically to extending communication services to a consumption deviceusing a proxy device.

BACKGROUND OF THE INVENTION

Data communications includes the use of packet switched networks tosupport voice communications, but due to regulatory requirements,certain classes of devices may be incapable of using different types ofcommunications protocols.

SUMMARY OF THE INVENTION

A system for data communications comprising a handset having aprocessor, a wireless communications device, a speaker and a microphoneand one or more software applications operating on the processor thatare configured to interface with a voice over long-term evolution(VoLTE) service. A wireless access point coupled to the handset througha local wireless communications media and the wireless communicationsdevice, the wireless access point further coupled to a long rangewireless communications media and configured to interface with a serverthat provides VoLTE calling functionality.

Other systems, methods, features, and advantages of the presentdisclosure will be or become apparent to one with skill in the art uponexamination of the following drawings and detailed description. It isintended that all such additional systems, methods, features, andadvantages be included within this description, be within the scope ofthe present disclosure, and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Aspects of the disclosure can be better understood with reference to thefollowing drawings. The components in the drawings are not necessarilyto scale, emphasis instead being placed upon clearly illustrating theprinciples of the present disclosure. Moreover, in the drawings, likereference numerals designate corresponding parts throughout the severalviews, and in which:

FIG. 1 is a diagram of a system for extending communication services toa consumption device using a proxy device, in accordance with anexemplary embodiment of the present disclosure;

FIG. 2 is a diagram of an algorithm for receiving a call at aVoLTE-enabled device, in accordance with an exemplary embodiment of thepresent disclosure; and

FIG. 3 is a diagram of an algorithm for setting up a call at aVoLTE-enabled device, in accordance with an exemplary embodiment of thepresent disclosure.

DETAILED DESCRIPTION OF THE INVENTION

In the description that follows, like parts are marked throughout thespecification and drawings with the same reference numerals. The drawingfigures might not be to scale and certain components can be shown ingeneralized or schematic form and identified by commercial designationsin the interest of clarity and conciseness.

FIG. 1 is a diagram of a system 100 for extending communication servicesto a consumption device using a proxy device, in accordance with anexemplary embodiment of the present disclosure. System 100 can beimplemented in hardware or a suitable combination of hardware andsoftware, and can be one or more software systems operating on one ormore processors.

As used herein, “hardware” can include a combination of discretecomponents, an integrated circuit, an application-specific integratedcircuit, a field programmable gate array, or other suitable hardware. Asused herein, “software” can include one or more objects, agents,threads, lines of code, subroutines, separate software applications, twoor more lines of code or other suitable software structures operating intwo or more software applications, on one or more processors (where aprocessor includes a microcomputer or other suitable controller, memorydevices, input-output devices, displays, data input devices such as akeyboard or a mouse, peripherals such as printers and speakers,associated drivers, control cards, power sources, network devices,docking station devices, or other suitable devices operating undercontrol of software systems in conjunction with the processor or otherdevices), or other suitable software structures. In one exemplaryembodiment, software can include one or more lines of code or othersuitable software structures operating in a general purpose softwareapplication, such as an operating system, and one or more lines of codeor other suitable software structures operating in a specific purposesoftware application. As used herein, the term “couple” and its cognateterms, such as “couples” and “coupled,” can include a physicalconnection (such as a copper conductor), a virtual connection (such asthrough randomly assigned memory locations of a data memory device), alogical connection (such as through logical gates of a semiconductingdevice), other suitable connections, or a suitable combination of suchconnections.

System 100 includes handset 102, which communicates with WiFi hotspot104 over communications media 124. In one exemplary embodiment, handset102 can have an associated sender 116 and listener 118 that communicatewith a corresponding listener 120 and sender 122 of WiFi hotspot 104.Handset 102 also includes dialer 110, security 112 and VoLTE 114. Dialer110 can be an application operating on handset 102 or other suitablehardware or software that is configured to generate a digit stream fordialing an outgoing number. In one exemplary embodiment, dialer 110 canbe implemented using one or more objects, each having graphic,functional and text attributes that generate a plurality ofuser-selectable keypad controls that allow a user to enter a telephonenumber or other suitable numbers.

Security 112 can be an application operating on handset 102 or othersuitable hardware or software that is configured to control access toWiFi hotspot 104. In one exemplary embodiment, security 112 can beimplemented using one or more objects, each having graphic, functionaland text attributes that generate a plurality of user-selectable keypadcontrols that prompts a user to enter a personal identification numberor other suitable codes to prevent an unauthorized user from accessingthe calling functionality of VoLTE proxy 124.

VoLTE 114 can be one or more software applications configured to providevoice over Long Term Evolution (VoLTE) communications, in accordancewith the LTE standard for communication published by the 3^(rd)Generation Partnership Project. In one exemplary embodiment, a handsetcan be configured to communicate using voice over LTE in conjunctionwith VoLTE proxy 124 on WiFi hotspot 104. VoLTE proxy 124 can be one ormore software applications that interface with one or more handsets 102,which can be smart phones, Bluetooth handsets or other suitable devices.

In operation, a user can place an outgoing call using handset 102 andWiFi hotspot 104, by dialing a telephone number using dialer 110 afteraccessing WiFi hotspot over communications media 124. Dialer 110 can beused to enter a PIN for security 112, and to transmit an outgoing numberto set up a call to called/calling party 108. WiFi hotspot 104 and VoLTEproxy 124 then set up the call to called/calling party 108 using server106 over communications media 126 and communications media 128, each ofwhich can be a wireless communications medium, a wireline communicationsmedium, other suitable communications media or a suitable combination ofcommunications media. On one exemplary embodiment, communications media126 can be a LTE long range wireless data network, and communicationsmedia 128 can be the public switched telephone network (PSTN), a privatepacket switched network or other suitable media or combinations ofmedia.

Likewise, a user can receive an incoming call from called/calling party108, who calls VoLTE proxy 124 over communications media 128 andcommunications media 126 using server 106. VoLTE proxy 124 can generatea ring signal on handset 102 and other suitable handsets, and canestablish a voice channel with the first handset that answers usinglistener 120 and sender 122 or in other suitable manners.

FIG. 2 is a diagram of an algorithm 200 for receiving a call at aVoLTE-enabled device, in accordance with an exemplary embodiment of thepresent disclosure. Algorithm 200 can be implemented in hardware or asuitable combination of hardware and software, and can be one or moresoftware systems operating on one or more processors.

Algorithm 200 begins at 202, where a call is received on a VoLTE proxyoperating on a WiFi hotspot. In one exemplary embodiment, the WiFihotspot can have an associated telephone number that is registered witha server that provides VoLTE services, and a third party can call thatnumber in order to set up a call with a user associated with the VoLTEproxy. When the calling party enters the telephone number of the VoLTEproxy, a server and other suitable communications devices set up a voicechannel between the calling party and the VoLTE proxy using suitablealgorithms. The algorithm then proceeds to 204.

At 204, the VoLTE proxy generates a ring tone on one or more handsetdevices. In one exemplary embodiment, each handset device can beregistered with the VoLTE proxy over associated sender and listenerports, and the VoLTE proxy can send a ring command to a VoLTE system oralgorithm operating on each handset, or other suitable algorithms can beused to generate the ring command. The algorithm then proceeds to 206.

At 206, it is determined whether a handset has answered the call. In oneexemplary embodiment, a VoLTE application operating on the handset cangenerate an answer control, can receive an off hook control signal froma device, or can use other suitable algorithmic processes or devices togenerate an off hook signal that is transmitted to the VoLTE proxy. Ifit is determined that no off hook signal or other suitable control datahas been received at 206, such as by checking a predetermined registerfor a predetermined stored data value, the algorithm proceeds to 214.Otherwise, the algorithm proceeds to 208.

At 208, one or more other handsets are deactivated by the VoLTE proxy.In one exemplary embodiment, a predetermined data register can be set toa value that prevents the other handsets from establishing a connectionwith the VoLTE proxy while it is being used to support a telephone call.Likewise, other suitable processes or algorithms can also oralternatively be used. The algorithm then proceeds to 210.

At 210, the voice channel is established to the answering handset. Inone exemplary embodiment, caches can be established to store voice datafor transmission to the handset from the calling party, and to storevoice data from the handset for transmission to the called party, orother suitable processes or algorithms can also or alternatively beused. The algorithm then proceeds to 212.

At 212, voice channel data is received and transmitted between thecalled and calling parties. In one exemplary embodiment, one or moresoftware applications for providing VoLTE voice communications can beused to monitor buffered data and to transmit the buffered data atsuitable times to support duplex voice communications over a packetswitched network, to provide echo cancellation, to provide noisesuppression and for other suitable purposes. The algorithm then proceedsto 214.

At 214, it is determined whether the call has ended. In one exemplaryembodiment, an on hook signal can be generated when a calling party orthe local handset terminates the call, an activity detector candetermine that no activity has occurred for a predetermined period oftime or other suitable processes can also or alternatively be used todetermine whether the call has ended. If it is determined that the callhas ended, the algorithm proceeds to 216, where the VoLTE proxy is resetto receive another incoming call or to set up an outgoing call from oneof the handsets. Otherwise, the algorithm returns to 212.

In operation, algorithm 200 allows a VoLTE proxy to receive an incomingcall and to generate a ring signal to allow a handset to answer theincoming call. The VoLTE proxy can service a number of differenthandsets, and can generate the same ringtone on each handset, or cangenerate different ring tones on different handsets, such as where theVoLTE proxy can receive calls for different telephone numbers. Althoughalgorithm 300 is shown as a flow chart, algorithm 200 can also oralternatively be implemented using object oriented programming, statediagrams or other suitable programming paradigms.

FIG. 3 is a diagram of an algorithm 300 for setting up a call at aVoLTE-enabled device, in accordance with an exemplary embodiment of thepresent disclosure. Algorithm 300 can be implemented in hardware or asuitable combination of hardware and software, and can be one or moresoftware systems operating on one or more processors.

Algorithm 300 begins at 302, where a calling session is initiated at ahandset. In one exemplary embodiment, the calling session can beinitiated by activating an application that operates on the handset andwhich sets up a sender and listener on the handset and a correspondinglistener and sender on a WiFi hotspot, by generating a dialer userinterface on the handset or in other suitable manners. The algorithmthen proceeds to 304.

At 304, access security is processed, such as by determining whether thehandset has credentials to access the WiFi hotspot, by generating a userinterface prompt to enter a PIN number or access code or in othersuitable manners. In one exemplary embodiment, access security can bedetermined when the handset originally obtains access to the WiFihotspot, prior to initiating the calling session or in other suitablemanners. The algorithm then proceeds to 306.

At 306, a call is initiated from a VoLTE proxy operating on the WiFihotspot. In one exemplary embodiment, the WiFi hotspot can include aprocessor and associated software applications that cause the processorto execute a series of instructions that receive a calling number from ahandset, that set up a call with a called party using a VoLTE server orother suitable packet-switched voice communications protocols, thatmanage communications once the call is in progress and that performother suitable functions. The VoLTE proxy can also or alternativelymanage multiple calls from multiple handsets, such as by managingdifferent telephone numbers for each handset or in other suitablemanners. The algorithm then proceeds to 308.

At 308, it is determined whether the called party has answered the call,such as by monitoring the status of a data register that is updated whenan off-hook signal is received from the called party or in othersuitable manners. If it is determined that the called party has notanswered the call after a predetermined number of rings, a predeterminedperiod time or in other suitable manners, the algorithm proceeds to 314,otherwise the algorithm proceeds to 310 where a voice channel with thecalled party is established. The algorithm then proceeds to 312, wherevoice data is received and transmitted from the calling handset to thecalled party. In one exemplary embodiment, the VoLTE proxy operating onthe WiFi hotspot can buffer data received from the handset and thecalled party and can manage the transmission and reception of data toprocess the data to reduce echo signals, to improve sound quality, toreduce noise, to avoid delays and for other suitable purposes. Thealgorithm then proceeds to 314.

At 314, it is determined whether the call has terminated. In oneexemplary embodiment, the called party can send an on-hook signal orother suitable data that can be used to determine that the call hasended, an activity detector or other suitable systems can be used todetermine if the called party has terminated the call or other suitableprocesses can also or alternatively be used. If it is determined thatthe call has not ended, the algorithm returns to 312, otherwise thealgorithm proceeds to 316, where the VoLTE proxy is reset.

In operation, algorithm 300 allows a WiFi hotspot to operate a VoLTEproxy, to allow a handset that has access to WiFi to use the VoLTEservices to place calls over a packet switched network. Althoughalgorithm 300 is shown as a flow chart, algorithm 300 can also oralternatively be implemented using object oriented programming, statediagrams or other suitable programming paradigms.

It should be emphasized that the above-described embodiments are merelyexamples of possible implementations. Many variations and modificationsmay be made to the above-described embodiments without departing fromthe principles of the present disclosure. All such modifications andvariations are intended to be included herein within the scope of thisdisclosure and protected by the following claims.

1-20. (canceled)
 21. A system for data communications comprising: awireless access point coupled to a handset through a wirelesscommunications device, the wireless access point further coupled to along range wireless communications media, the wireless access pointhaving a processor and one or more software applications operating onthe processor and configured to: receive a call initiation from ahandset at the wireless access point; and utilize a long range wirelesscommunications media from the wireless access point to initiate aninterface with a server that provides VoLTE calling functionality. 22.The system of claim 21 further comprising: a handset having a processor,a wireless communications device, a speaker and one or more softwareapplications operating on the processor that are configured to: initiatea call from a handset using a voice over long-term evolution (VoLTE)service and a local wireless network; receive a call at a VoLTE enableddevice; and generate a ring signal at the speaker of the handset device.23. The system of claim 22 wherein the wireless access point is coupledto the handset through the local wireless communications media and thewireless communications device.
 24. The system of claim 22 wherein theone or more software applications operating on the processor of thehandset are configured to set up a call at a VoLTE-enabled device. 25.The system of claim 22 wherein the one or more software applicationsoperating on the processor of the handset are configured to have asender port on a wireless network.
 26. The system or claim 21 whereinthe one or more software applications operating on the processor of thehandset are configured to have a listener port on a wireless network.27. The system of claim 21 wherein the one or more software applicationsoperating on the processor of the wireless access point are configuredto: have a sender port on a wireless network; and have a listener porton a wireless network.
 28. A method for data communications comprising:receiving a call initiation from a handset at a wireless access point;utilizing a long range wireless communications media from the wirelessaccess point to initiate an interface with a server that provides VoLTEcalling functionality; receiving a call at a VoLTE proxy; and generatinga ring signal at the handset device.
 29. The method of claim 28 furthercomprising initiating a call from the handset using a voice overlong-term evolution (VoLTE) service and a local wireless network. 30.The method of claim 29 wherein initiating the call from the handsetusing the VoLTE service and the local wireless network comprisesprocessing an access security procedure.
 31. The method of claim 28wherein utilizing the long range wireless communications media from thewireless access point to initiate the interface with the server thatprovides VoLTE calling functionality comprises initiating a call with aVoLTE proxy.
 32. The method of claim 28 wherein utilizing the long rangewireless communications media from the wireless access point to initiatethe interface with the server that provides VoLTE calling functionalitycomprises: initiating a call with a VoLTE proxy; and establishing avoice channel.
 33. The method of claim 28 wherein utilizing the longrange wireless communications media from the wireless access point toinitiate the interface with the server that provides VoLTE callingfunctionality comprises: initiating a call with a VoLTE proxy;establishing a voice channel; and receiving and transmitting voice dataafter the voice channel is established.
 34. The method of claim 28wherein utilizing the long range wireless communications media from thewireless access point to initiate the interface with the server thatprovides VoLTE calling functionality comprises: initiating a call with aVoLTE proxy; establishing a voice channel; receiving and transmittingvoice data after the voice channel is established; determining whetherthe call has been terminated; and continuing the receiving andtransmitting voice data if the call has not been terminated.
 35. Themethod of claim 28 further comprising: receiving a call at a VoLTEproxy; generating a ring signal at the handset device; and determiningwhether the handset device has answered the call.
 36. The method ofclaim 28 further comprising: receiving a call at a VoLTE proxy;generating a ring signal at the handset device; determining whether thehandset device has answered the call; and deactivating one or more otherhandsets if the handset device has answered the call.
 37. The method ofclaim 28 further comprising: receiving a call at a VoLTE proxy;generating a ring signal at the handset device; determining whether thehandset device has answered the call; deactivating one or more otherhandsets if the handset device has answered the call; and establishing avoice channel with the handset.
 38. The method of claim 28 furthercomprising: receiving a call at a VoLTE proxy; generating a ring signalat the handset device; determining whether the handset device hasanswered the call; deactivating one or more other handsets if thehandset device has answered the call; establishing a voice channel withthe handset; and resetting the VoLTE proxy after completion of the call.39. The method of claim 28 wherein utilizing the long range wirelesscommunications media from the wireless access point to initiate theinterface with the server that provides VoLTE calling functionalitycomprises: initiating a call with a VoLTE proxy; establishing a voicechannel; receiving and transmitting voice data after the voice channelis established; determining whether the call has been terminated;continuing the receiving and transmitting voice data if the call has notbeen terminated; and resetting the VoLTE proxy if the call has beenterminated.
 40. A method of data communications in a system thatincludes a handset having a processor, a wireless communications device,a speaker and a microphone and one or more software applicationsoperating on the processor that are configured to interface with a voiceover long-term evolution (VoLTE) service and a wireless access pointcoupled to the handset through a local wireless communications media andthe wireless communications device, the wireless access point furthercoupled to a long range wireless communications media and configured tointerface with a server that provides VoLTE calling functionality,wherein the handset further comprises means for receiving a call at aVoLTE-enabled device, wherein the handset further comprises means forsetting up a call at a VoLTE-enabled device, wherein the handset furthercomprises a sender port on a wireless network, wherein the handsetfurther comprises a listener port on a wireless network, wherein thewireless access point further comprises a sender port on a wirelessnetwork, and wherein the wireless access point further comprises alistener port on a wireless network, the method for data communicationscomprising: receiving a call initiation from the handset at the wirelessaccess point; utilizing the long range wireless communications mediafrom the wireless access point to initiate the interface with the serverthat provides VoLTE calling functionality; wherein utilizing the longrange wireless communications media from the wireless access point toinitiate the interface with the server that provides VoLTE callingfunctionality comprises initiating the call with a VoLTE proxy; whereinutilizing the long range wireless communications media from the wirelessaccess point to initiate the interface with the server that providesVoLTE calling functionality comprises: initiating the call with theVoLTE proxy; establishing the voice channel; receiving and transmittingvoice data after the voice channel is established; determining whetherthe call has been terminated; continuing the receiving and transmittingvoice data if the call has not been terminated; resetting the VoLTEproxy after completion of the call; receiving the call at a VoLTE proxy;generating the ring signal at the handset device; determining whetherthe handset device has answered the call; deactivating one or more otherhandsets if the handset device has answered the call; and establishingthe voice channel with the handset.